home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / SYS / s / UmlautConverter.wrx < prev    next >
Text File  |  1996-09-26  |  3KB  |  106 lines

  1. /*
  2.  *
  3.  * Script für WRITE 3.592 © 1989 - 1994 by Tim Teulings
  4.  * Dieses REXX-Script konvertiert die Zeichen ä,ö,ü,Ä,Ö,Ü,ß.
  5.  *
  6.  * Dies ist sehr nützlich für Texte, die an einen PC oder Unix-Rechner
  7.  * übergeben werden sollen, mit TeX bearbeitet, oder die per EMail
  8.  * in eine Gruppe/ein Netz geschickt werden, welche(s) Umlaute verbietet.
  9.  *
  10.  */
  11.  
  12. OPTIONS RESULTS
  13.  
  14. IF ~show('P',"WRITE") THEN DO
  15.   say 'Dieses Script läuft nur, wenn WRITE bereits gestartet wurde !'
  16.   exit 10
  17. END
  18.  
  19. ADDRESS "WRITE"
  20.  
  21. 'VERSIONCHECK 3848 "UmlautConverter.wrx"'
  22. IF RC~=0 THEN DO
  23.   exit 10
  24. END
  25.  
  26. 'GETVAR "_CurrentID"'
  27. ID = RESULT           /* GETVAR gibt den ID des aktuellen Fenster zurück,  */
  28.                       /* der von den weiteren Befehlen benötigt wird.      */
  29.  
  30. IF ID=0 THEN DO
  31.   MESSAGEOK (Kein Fenster aktiviert !)
  32.   EXIT
  33. END
  34.  
  35. PARSE ARG Type
  36.  
  37. UPPER Type
  38.  
  39. IF Type~=TEX & Type~=ASCII THEN DO
  40.   'ASK "Dieses Script konvertiert die Umlaute\nin einem Block (wenn markiert)\noder im gesamten Text in die\nangegebene Form..." "German _TeX|_ASCII|_Abbrechen !!! ^" {@VERT @TOMOUSE}'
  41.   IF RESULT=0 THEN DO
  42.     Type = TEX
  43.   END
  44.   ELSE DO
  45.     IF RESULT=1 THEN DO
  46.       Type = ASCII
  47.     END
  48.     ELSE DO
  49.       EXIT
  50.     END
  51.   END
  52. END
  53.  
  54. OPENPORT ID           /* PrivatePort des aktuellen Fensters öffnen        */
  55. Port = RESULT
  56.  
  57. IF Port="" THEN DO    /* 'OPENPORT' gibt "" zurück, wenn Port nicht       */
  58.                       /* geöffnet werden konnte                           */
  59.  
  60.   LOCKWINDOW ID
  61. END
  62. ELSE DO
  63.   INTERPRET ADDRESS Port  /* PrivatePort addressieren.Alle Komandos beziehen */
  64.                           /* sich nun auf das Fenster mit diesem Port        */
  65. END
  66.  
  67. 'SILENT'                /* Silent-Mode wegen Geschwindigkeit               */
  68.  
  69. 'GETVAR "_xPos"'        /* Cursorposition holen                            */
  70. OldPos.x = RESULT
  71. 'GETVAR "_yPos"'
  72. OldPos.y = RESULT
  73.  
  74. CLEARLIST 0
  75.  
  76. IF Type=TEX THEN DO
  77.   'ADDLIST "ä" 0 ADDLIST "\"a" 0 ADDLIST "ö" 0 ADDLIST "\"o" 0 ADDLIST "ü" 0 ADDLIST "\"u"' 0
  78.   'ADDLIST "Ä" 0 ADDLIST "\"A" 0 ADDLIST "Ö" 0 ADDLIST "\"O" 0 ADDLIST "Ü" 0 ADDLIST "\"U"  0 ADDLIST "ß" 0 ADDLIST "\\3" 0'
  79. END
  80. ELSE DO
  81.   'ADDLIST "ä" 0 ADDLIST "ae" 0 ADDLIST "ö" 0 ADDLIST "oe" 0 ADDLIST "ü" 0 ADDLIST "ue" 0'
  82.   'ADDLIST "Ä" 0 ADDLIST "Ae" 0 ADDLIST "Ö" 0 ADDLIST "Oe" 0 ADDLIST "Ü" 0 ADDLIST "Ue" 0 ADDLIST "ß" 0 ADDLIST "ss" 0'
  83. END
  84.  
  85. 'GETVAR "_Marked"'
  86. Marked = RESULT
  87. IF Marked = 2 THEN DO
  88.   'REPLACELIST 0 @MARKA @MARKA @MARKB @MARKB {@SILENT @NOREQ @ALL @CASE @NOWORD}'
  89. END
  90. ELSE DO
  91.   'REPLACELIST 0 @SOT @SOT @EOT @EOT {@SILENT @NOREQ @ALL @CASE @NOWORD}'
  92. END
  93.  
  94. GOTO OldPos.x OldPos.y  /* Wieder zur alten Position zurückspringen        */
  95.  
  96. WINDOW 0 0 0 0          /* Silent-Mode wieder ausschalten                  */
  97.  
  98. "MESSAGEOK (REXX-Script\n'ClearUmlautsList'\n\nFertig !)"
  99.  
  100. IF Port="" THEN DO
  101.   LOCKWINDOW 0
  102. END
  103. ELSE DO
  104.   CLOSEPORT ID
  105. END
  106.